home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- Boolean BOOLEAN003
- Boolean BOOLEAN004
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER005
- Integer INTEGER006
- Integer INTEGER007
- Integer INTEGER008
- Integer INTEGER009
- Integer INTEGER010
- Integer TINTEGER011(5)
- Integer INTEGER012
- Integer INTEGER013
- Integer INTEGER014
- Integer INTEGER015
- Integer INTEGER016
- Integer INTEGER017
- Integer INTEGER018
- Integer INTEGER019
- Integer INTEGER020
- Integer INTEGER021
- Integer INTEGER022
- Integer INTEGER023
- Integer TINTEGER024(55)
- String TSTRING001(20)
- String TSTRING002(9,3)
- String TSTRING003(5,4)
- String TSTRING004(50,4)
- String TSTRING005(6,3)
- String TSTRING006(5,50)
- String TSTRING007(7)
- String TSTRING008(42)
- String TSTRING009(28)
- String TSTRING010(9)
- String STRING011
- String STRING012
- String STRING013
- String STRING014
- String STRING015
- String STRING016
- String STRING017
- String STRING018
- String STRING019
- String STRING020
- String STRING021
- String STRING022
- String STRING023
- String TSTRING024(99)
- String STRING025
- String STRING026
- String STRING027
- String STRING028
- String STRING029
- String STRING030
- String STRING031
- String STRING032
- String STRING033
- String STRING034
- String STRING035
- String STRING036
- String STRING037
- String STRING038
- String STRING039
- String STRING040
- String STRING041
- String STRING042
- String STRING043
- String STRING044
- String STRING045
- String STRING046
- String STRING047
- String STRING048
- String TSTRING049(67)
- String STRING050
- String STRING051
- String STRING052
-
- ;------------------------------------------------------------------------------
-
- TSTRING001(1) = PPEPath() + "MATRIX.CFG"
- TSTRING001(2) = PPEPath() + "FORM.1"
- TSTRING001(3) = PPEPath() + "FORM.2"
- TSTRING001(4) = PPEPath() + "FORM.3"
- TSTRING001(5) = PPEPath() + "FORM.4"
- TSTRING001(6) = PPEPath() + "FORM.5"
- TSTRING001(7) = PPEPath() + "CONFIG.1"
- TSTRING001(8) = PPEPath() + "CONFIG.2"
- TSTRING001(9) = PPEPath() + "CONFIG.3"
- TSTRING001(10) = PPEPath() + "CONFIG.4"
- TSTRING001(11) = PPEPath() + "CONFIG.5"
- TSTRING001(12) = PPEPath() + "FORM.SCR"
- TSTRING001(13) = PPEPath() + "COMMENT.TMP"
- TSTRING001(14) = PPEPath() + "MATRIX.SCR"
- TSTRING001(15) = PPEPath() + "TEXT.CFG"
- TSTRING001(16) = PPEPath() + "LOGON.SCR"
- TSTRING001(17) = PPEPath() + "NEWUSER.SCR"
- TSTRING001(18) = PPEPath() + "BLACKLST.SCR"
- TSTRING001(19) = PPEPath() + "MATRIX.TMP"
- If (Exist(TSTRING001(1)) == 0) Then
- PrintLn "@X07Configuration File Missing... (MATRIX.CFG)"
- PrintLn "@X07Please report this to the Sysop..."
- PrintLn
- Print "@X0FWhat is your Full Name"
- End
- Endif
- If (Exist(TSTRING001(14)) == 0) Then
- PrintLn "@X07Matrix Display File Missing... (MATRIX.SCR)"
- PrintLn "@X07Please report this to the Sysop..."
- PrintLn
- Print "@X0FWhat is your Full Name"
- End
- Endif
- If (Exist(TSTRING001(15)) == 0) Then
- PrintLn "@X07Text Configuration File Missing... (TEXT.CFG)"
- PrintLn "@X07Please report this to the Sysop..."
- PrintLn
- Print "@X0FWhat is your Full Name"
- End
- Endif
- RdUNet PcbNode()
- WrUNet PcbNode(), "U", UN_Name(), UN_City(), "User is Logging in using Matrix 2000!", ""
- FOpen 15, TSTRING001(15), 0, 0
- For INTEGER017 = 1 To 42
- FGet 15, TSTRING008(INTEGER017)
- Next
- FClose 15
- FOpen 1, TSTRING001(1), 0, 0
- FGet 1, STRING023
- FGet 1, STRING022
- For INTEGER017 = 1 To 6
- For INTEGER018 = 1 To 3
- FGet 1, TSTRING005(INTEGER017, INTEGER018)
- Next
- Next
- For INTEGER017 = 1 To 7
- FGet 1, TSTRING007(INTEGER017)
- Next
- For INTEGER017 = 1 To 11
- FGet 1, TSTRING009(INTEGER017)
- Next
- For INTEGER017 = 1 To 7
- For INTEGER018 = 1 To 3
- FGet 1, TSTRING002(INTEGER017, INTEGER018)
- Next
- Next
- FGet 1, TSTRING002(8, 1)
- FGet 1, TSTRING002(8, 2)
- FGet 1, TSTRING002(9, 1)
- FGet 1, TSTRING002(9, 2)
- FGet 1, TSTRING002(9, 3)
- For INTEGER017 = 12 To 16
- FGet 1, TSTRING009(INTEGER017)
- Next
- FGet 1, STRING021
- FGet 1, STRING020
- For INTEGER017 = 1 To 5
- For INTEGER018 = 1 To 4
- FGet 1, TSTRING003(INTEGER017, INTEGER018)
- Next
- Next
- For INTEGER017 = 17 To 24
- FGet 1, TSTRING009(INTEGER017)
- Next
- For INTEGER017 = 1 To 36
- FGet 1, STRING013
- Next
- FGet 1, STRING028
- FGet 1, TSTRING009(25)
- FGet 1, TSTRING009(26)
- FGet 1, TSTRING009(27)
- FClose 1
- FOpen 1, TSTRING001(1), 0, 0
- For INTEGER017 = 1 To 140
- FGet 1, STRING013
- Next
- FGet 1, STRING046
- FGet 1, STRING047
- FGet 1, STRING048
- FGet 1, INTEGER008
- FClose 1
- INTEGER023 = ReadLine(PCBDat(), 265)
- If (INTEGER023 > TSTRING009(12)) Then
- TSTRING009(12) = INTEGER023
- TSTRING008(23) = "@X0FPassword must be at Least " + TSTRING009(12) + " Characters Long!"
- Endif
- Select Case (Upper(TSTRING007(2)))
- Case "W"
- STRING026 = "@X07"
- STRING025 = "@X0F"
- Case "B"
- STRING026 = "@X01"
- STRING025 = "@X09"
- Case "G"
- STRING026 = "@X02"
- STRING025 = "@X0A"
- Case "C"
- STRING026 = "@X03"
- STRING025 = "@X0B"
- Case "R"
- STRING026 = "@X04"
- STRING025 = "@X0C"
- Case "P"
- STRING026 = "@X05"
- STRING025 = "@X0D"
- End Select
- TSTRING049(1) = ""
- TSTRING049(2) = ""
- TSTRING049(3) = ""
- TSTRING049(4) = ""
- TSTRING049(5) = ""
- TSTRING049(6) = ""
- TSTRING049(7) = ""
- TSTRING049(8) = ""
- TSTRING049(9) = ""
- TSTRING049(10) = ""
- TSTRING049(11) = "a"
- TSTRING049(12) = "q"
- TSTRING049(13) = "z"
- TSTRING049(14) = "s"
- TSTRING049(15) = "w"
- TSTRING049(16) = "x"
- TSTRING049(17) = "c"
- TSTRING049(18) = "e"
- TSTRING049(19) = "d"
- TSTRING049(20) = ""
- TSTRING049(21) = "v"
- TSTRING049(22) = "r"
- TSTRING049(23) = "f"
- TSTRING049(24) = "g"
- TSTRING049(25) = "t"
- TSTRING049(26) = "b"
- TSTRING049(27) = "h"
- TSTRING049(28) = "y"
- TSTRING049(29) = "n"
- TSTRING049(30) = ""
- TSTRING049(31) = "j"
- TSTRING049(32) = "u"
- TSTRING049(33) = "m"
- TSTRING049(34) = "k"
- TSTRING049(35) = "i"
- TSTRING049(36) = "l"
- TSTRING049(37) = "p"
- TSTRING049(38) = "o"
- TSTRING049(39) = "L"
- TSTRING049(40) = ""
- TSTRING049(41) = "P"
- TSTRING049(42) = "O"
- TSTRING049(43) = "K"
- TSTRING049(44) = "M"
- TSTRING049(45) = "N"
- TSTRING049(46) = "J"
- TSTRING049(47) = "I"
- TSTRING049(48) = "H"
- TSTRING049(49) = "B"
- TSTRING049(50) = ""
- TSTRING049(51) = "U"
- TSTRING049(52) = "G"
- TSTRING049(53) = "Y"
- TSTRING049(54) = "V"
- TSTRING049(55) = "F"
- TSTRING049(56) = "C"
- TSTRING049(57) = "T"
- TSTRING049(58) = "D"
- TSTRING049(59) = "R"
- TSTRING049(50) = ""
- TSTRING049(61) = "X"
- TSTRING049(62) = "S"
- TSTRING049(63) = "E"
- TSTRING049(64) = "W"
- TSTRING049(65) = "Q"
- TSTRING049(66) = "Z"
- TSTRING049(67) = "A"
- TINTEGER024(1) = 84
- TINTEGER024(2) = 104
- TINTEGER024(3) = 105
- TINTEGER024(4) = 115
- TINTEGER024(5) = 255
- TINTEGER024(6) = 80
- TINTEGER024(7) = 80
- TINTEGER024(8) = 69
- TINTEGER024(9) = 255
- TINTEGER024(10) = 105
- TINTEGER024(11) = 115
- TINTEGER024(12) = 255
- TINTEGER024(13) = 85
- TINTEGER024(14) = 110
- TINTEGER024(15) = 114
- TINTEGER024(16) = 101
- TINTEGER024(17) = 103
- TINTEGER024(18) = 105
- TINTEGER024(19) = 115
- TINTEGER024(20) = 116
- TINTEGER024(21) = 101
- TINTEGER024(22) = 114
- TINTEGER024(23) = 101
- TINTEGER024(24) = 100
- TINTEGER024(25) = 33
- TINTEGER024(26) = 255
- TINTEGER024(27) = 255
- TINTEGER024(28) = 80
- TINTEGER024(29) = 108
- TINTEGER024(30) = 101
- TINTEGER024(31) = 97
- TINTEGER024(32) = 115
- TINTEGER024(33) = 101
- TINTEGER024(34) = 255
- TINTEGER024(35) = 82
- TINTEGER024(36) = 101
- TINTEGER024(37) = 103
- TINTEGER024(38) = 105
- TINTEGER024(39) = 115
- TINTEGER024(40) = 116
- TINTEGER024(41) = 101
- TINTEGER024(42) = 114
- TINTEGER024(43) = 33
- TINTEGER024(44) = 255
- TINTEGER024(45) = 255
- TINTEGER024(46) = 79
- TINTEGER024(47) = 110
- TINTEGER024(48) = 108
- TINTEGER024(49) = 121
- TINTEGER024(50) = 255
- TINTEGER024(51) = 36
- TINTEGER024(52) = 49
- TINTEGER024(53) = 48
- TINTEGER024(54) = 33
- TINTEGER024(55) = 196
- Gosub LABEL072
- STRING030 = Upper(TSTRING009(5))
- :LABEL001
- If (BOOLEAN002) Goto LABEL007
- BOOLEAN004 = 0
- BOOLEAN002 = 0
- Color 15
- Cls
- DispFile TSTRING001(14), 1
- AnsiPos TSTRING005(1, 3), TSTRING005(1, 2)
- Print STRING023, TSTRING005(1, 1)
- AnsiPos TSTRING005(2, 3), TSTRING005(2, 2)
- Print STRING023, TSTRING005(2, 1)
- AnsiPos TSTRING005(3, 3), TSTRING005(3, 2)
- Print STRING023, TSTRING005(3, 1)
- AnsiPos TSTRING005(4, 3), TSTRING005(4, 2)
- Print STRING023, TSTRING005(4, 1)
- AnsiPos TSTRING005(5, 3), TSTRING005(5, 2)
- Print STRING023, TSTRING005(5, 1)
- AnsiPos TSTRING005(6, 3), TSTRING005(6, 2)
- Print STRING023, TSTRING005(6, 1)
- AnsiPos TSTRING005(1, 3), TSTRING005(1, 2)
- Print STRING022, TSTRING005(1, 1)
- INTEGER014 = 1
- :LABEL002
- If (BOOLEAN004) Goto LABEL006
- STRING027 = Inkey()
- If (STRING027 == " ") Then
- INTEGER014 = INTEGER014 + 1
- If (INTEGER014 == 7) Then
- INTEGER014 = 1
- AnsiPos TSTRING005(6, 3), TSTRING005(6, 2)
- Print STRING023, TSTRING005(6, 1)
- AnsiPos TSTRING005(1, 3), TSTRING005(1, 2)
- Print STRING022, TSTRING005(1, 1)
- Goto LABEL003
- Endif
- AnsiPos TSTRING005(INTEGER014 - 1, 3), TSTRING005(INTEGER014 - 1, 2)
- Print STRING023, TSTRING005(INTEGER014 - 1, 1)
- AnsiPos TSTRING005(INTEGER014, 3), TSTRING005(INTEGER014, 2)
- Print STRING022, TSTRING005(INTEGER014, 1)
- Endif
- :LABEL003
- If ((STRING027 == "UP") || (Upper(STRING027) == "A")) Then
- If (INTEGER014 == 1) Then
- Goto LABEL004
- Endif
- INTEGER014 = INTEGER014 - 1
- AnsiPos TSTRING005(INTEGER014 + 1, 3), TSTRING005(INTEGER014 + 1, 2)
- Print STRING023, TSTRING005(INTEGER014 + 1, 1)
- AnsiPos TSTRING005(INTEGER014, 3), TSTRING005(INTEGER014, 2)
- Print STRING022, TSTRING005(INTEGER014, 1)
- Endif
- :LABEL004
- If ((STRING027 == "DOWN") || (Upper(STRING027) == "Z")) Then
- If (INTEGER014 == 6) Then
- Goto LABEL005
- Endif
- INTEGER014 = INTEGER014 + 1
- AnsiPos TSTRING005(INTEGER014 - 1, 3), TSTRING005(INTEGER014 - 1, 2)
- Print STRING023, TSTRING005(INTEGER014 - 1, 1)
- AnsiPos TSTRING005(INTEGER014, 3), TSTRING005(INTEGER014, 2)
- Print STRING022, TSTRING005(INTEGER014, 1)
- Endif
- :LABEL005
- If (STRING027 == Chr(13)) BOOLEAN004 = 1
- Goto LABEL002
- :LABEL006
- Select Case (INTEGER014)
- Case 1
- Gosub LABEL049
- Case 2
- Gosub LABEL008
- Case 3
- Gosub LABEL065
- Case 4
- Gosub LABEL060
- Case 5
- Gosub LABEL053
- Case 6
- Gosub LABEL068
- End Select
- BOOLEAN002 = 0
- BOOLEAN004 = 0
- Goto LABEL001
- :LABEL007
- End
- :LABEL008
- AdjTime 500
- Color 15
- Cls
- If (Left(TSTRING008(31), 1) == "%") Then
- STRING014 = TSTRING008(31)
- STRING013 = PPEPath() + Right(STRING014, Len(STRING014) - 1)
- DispFile STRING013, 1
- Else
- PrintLn TSTRING008(31)
- Endif
- PrintLn
- If (STRING028 == "1") Then
- Goto LABEL009
- Endif
- AnsiPos 1, GetY()
- ClrEol
- Print TSTRING008(32)
- STRING029 = ""
- InputStr " _", STRING029, 15, 30, Mask_Ascii(), 1
- If (Upper(STRING029) <> Upper(STRING028)) Return
- :LABEL009
- AdjTime TSTRING007(6)
- Color 15
- Cls
- If (Left(TSTRING008(21), 1) == "%") Then
- STRING014 = TSTRING008(21)
- STRING013 = PPEPath() + Right(STRING014, Len(STRING014) - 1)
- DispFile STRING013, 1
- Else
- PrintLn TSTRING008(21)
- Endif
- PrintLn
- More
- Color 15
- Cls
- DispFile TSTRING001(17), 1
- If (TSTRING002(1, 3) > 27) TSTRING002(1, 3) = 25
- If (TSTRING002(1, 3) < 20) TSTRING002(1, 3) = 25
- If (TSTRING002(2, 3) > 13) TSTRING002(1, 3) = 13
- If (TSTRING002(2, 3) < 10) TSTRING002(1, 3) = 13
- TSTRING002(3, 3) = TSTRING002(2, 3)
- If (TSTRING002(4, 3) > 25) TSTRING002(1, 3) = 25
- If (TSTRING002(4, 3) < 20) TSTRING002(1, 3) = 25
- If (TSTRING002(5, 3) > 14) TSTRING002(1, 3) = 13
- If (TSTRING002(5, 3) < 11) TSTRING002(1, 3) = 13
- If (TSTRING002(6, 3) > 14) TSTRING002(1, 3) = 13
- If (TSTRING002(6, 3) < 11) TSTRING002(1, 3) = 13
- If (TSTRING002(7, 3) > 31) TSTRING002(1, 3) = 14
- If (TSTRING002(7, 3) < 20) TSTRING002(1, 3) = 14
- If (TSTRING002(9, 3) > 50) TSTRING002(1, 3) = 40
- If (TSTRING002(9, 3) < 10) TSTRING002(1, 3) = 40
- BOOLEAN004 = 0
- :LABEL010
- If (BOOLEAN004) Goto LABEL011
- INTEGER012 = INTEGER012 + 1
- AnsiPos TSTRING002(1, 2), TSTRING002(1, 1)
- STRING016 = ""
- InputStr "_", STRING016, 15, TSTRING002(1, 3), Mask_Alpha() + ". ", 0
- If (STRING016 <> "") Then
- STRING016 = Upper(STRING016)
- If (U_RecNum(STRING016) == -1) Then
- BOOLEAN004 = 1
- Else
- AnsiPos 1, TSTRING009(14)
- Print TSTRING008(33)
- Delay 18
- AnsiPos 1, TSTRING009(14)
- Print " "
- AnsiPos TSTRING002(1, 2), TSTRING002(1, 1)
- For INTEGER017 = 1 To Len(STRING016)
- Print " "
- Next
- BOOLEAN004 = 0
- STRING016 = ""
- Endif
- ElseIf (INTEGER012 == TSTRING009(13)) Then
- AnsiPos 1, TSTRING009(14)
- PrintLn TSTRING008(24)
- PrintLn
- KbdStuff TSTRING009(15) + Chr(13)
- Hangup
- DtrOff
- Endif
- Goto LABEL010
- :LABEL011
- If (Exist(TSTRING001(18)) == 0) Then
- Goto LABEL012
- Endif
- FOpen 1, TSTRING001(18), 2, 0
- For INTEGER017 = 1 To 10000
- FGet 1, STRING013
- If (Upper(STRING016) == Upper(STRING013)) Then
- Color 15
- Cls
- If (Left(TSTRING008(22), 1) == "%") Then
- STRING014 = TSTRING008(22)
- STRING013 = PPEPath() + Right(STRING014, Len(STRING014) - 1)
- DispFile STRING013, 1
- KbdStuff TSTRING009(15) + Chr(13)
- Hangup
- DtrOff
- End
- Continue
- Endif
- PrintLn TSTRING008(22)
- KbdStuff TSTRING009(15) + Chr(13)
- Hangup
- DtrOff
- End
- Endif
- Next
- FClose 1
- :LABEL012
- BOOLEAN004 = 0
- BOOLEAN002 = 0
- INTEGER012 = 0
- :LABEL013
- If (BOOLEAN004) Goto LABEL016
- :LABEL014
- If (BOOLEAN002) Goto LABEL015
- INTEGER012 = INTEGER012 + 1
- AnsiPos TSTRING002(3, 2), TSTRING002(3, 1)
- For INTEGER017 = 1 To TSTRING002(2, 3)
- Print " "
- Next
- AnsiPos TSTRING002(2, 2), TSTRING002(2, 1)
- For INTEGER017 = 1 To TSTRING002(2, 3)
- Print " "
- Next
- AnsiPos TSTRING002(2, 2), TSTRING002(2, 1)
- InputStr "_", TSTRING010(1), 15, TSTRING002(2, 3), Mask_Ascii(), 1
- If (Len(TSTRING010(2)) > 3) BOOLEAN002 = 1
- If (TSTRING010(1) <> "") Then
- If (Len(TSTRING010(1)) >= TSTRING009(12)) Then
- BOOLEAN002 = 1
- Endif
- If (Len(TSTRING010(1)) < TSTRING009(12)) Then
- If (INTEGER012 == TSTRING009(13)) Then
- AnsiPos 1, TSTRING009(14)
- PrintLn TSTRING008(24)
- PrintLn
- KbdStuff TSTRING009(15) + Chr(13)
- Hangup
- DtrOff
- Endif
- AnsiPos 1, TSTRING009(14)
- Print TSTRING008(23)
- Delay 18
- AnsiPos 1, TSTRING009(14)
- Print " "
- Endif
- Endif
- Goto LABEL014
- :LABEL015
- BOOLEAN002 = 0
- AnsiPos TSTRING002(3, 2), TSTRING002(3, 1)
- For INTEGER017 = 1 To TSTRING002(3, 3)
- Print " "
- Next
- AnsiPos TSTRING002(3, 2), TSTRING002(3, 1)
- InputStr "_", TSTRING010(2), 15, TSTRING002(2, 3), Mask_Ascii(), 1
- If (Upper(TSTRING010(1)) == Upper(TSTRING010(2))) BOOLEAN004 = 1
- Goto LABEL013
- :LABEL016
- BOOLEAN004 = 0
- INTEGER012 = 0
- :LABEL017
- If (BOOLEAN004) Goto LABEL018
- INTEGER012 = INTEGER012 + 1
- AnsiPos TSTRING002(4, 2), TSTRING002(4, 1)
- InputStr "_", TSTRING010(4), 15, TSTRING002(4, 3), Mask_Alpha() + " ,.-/", 0
- If (TSTRING010(4) <> "") Then
- BOOLEAN004 = 1
- ElseIf (INTEGER012 == TSTRING009(13)) Then
- AnsiPos 1, TSTRING009(14)
- PrintLn TSTRING008(24)
- PrintLn
- KbdStuff TSTRING009(15) + Chr(13)
- Hangup
- DtrOff
- Endif
- Goto LABEL017
- :LABEL018
- For INTEGER017 = 5 To 6
- BOOLEAN004 = 0
- INTEGER012 = 0
- :LABEL019
- If (BOOLEAN004) Continue
- INTEGER012 = INTEGER012 + 1
- AnsiPos TSTRING002(INTEGER017, 2), TSTRING002(INTEGER017, 1)
- InputStr "_", TSTRING010(INTEGER017), 15, TSTRING002(INTEGER017, 3), Mask_Num() + "-", 0
- If (TSTRING010(INTEGER017) <> "") Then
- BOOLEAN004 = 1
- ElseIf (INTEGER012 == TSTRING009(13)) Then
- AnsiPos 1, TSTRING009(14)
- PrintLn TSTRING008(24)
- PrintLn
- KbdStuff TSTRING009(15) + Chr(13)
- Hangup
- DtrOff
- Endif
- Goto LABEL019
- Next
- BOOLEAN004 = 0
- INTEGER012 = 0
- :LABEL020
- If (BOOLEAN004) Goto LABEL021
- INTEGER012 = INTEGER012 + 1
- AnsiPos TSTRING002(7, 2), TSTRING002(7, 1)
- InputStr "_", TSTRING010(7), 15, TSTRING002(7, 3), Mask_Ascii(), 0
- If (TSTRING010(7) <> "") Then
- BOOLEAN004 = 1
- ElseIf (INTEGER012 == TSTRING009(13)) Then
- AnsiPos 1, TSTRING009(14)
- PrintLn TSTRING008(24)
- PrintLn
- KbdStuff TSTRING009(15) + Chr(13)
- Hangup
- DtrOff
- Endif
- Goto LABEL020
- :LABEL021
- AnsiPos TSTRING002(8, 2), TSTRING002(8, 1)
- BOOLEAN004 = 0
- :LABEL022
- If (BOOLEAN004) Goto LABEL023
- InputStr "_", TSTRING010(8), 15, 1, "YNyn", 16384
- If (TSTRING010(8) <> "") BOOLEAN004 = 1
- Goto LABEL022
- :LABEL023
- BOOLEAN004 = 0
- INTEGER012 = 0
- :LABEL024
- If (BOOLEAN004) Goto LABEL025
- INTEGER012 = INTEGER012 + 1
- AnsiPos TSTRING002(9, 2), TSTRING002(9, 1)
- InputStr "_", TSTRING010(9), 15, TSTRING002(9, 3), Mask_Ascii(), 0
- If (TSTRING010(9) <> "") Then
- BOOLEAN004 = 1
- ElseIf (INTEGER012 == TSTRING009(13)) Then
- AnsiPos 1, TSTRING009(14)
- PrintLn TSTRING008(24)
- PrintLn
- KbdStuff TSTRING009(15) + Chr(13)
- Hangup
- DtrOff
- Endif
- Goto LABEL024
- :LABEL025
- AnsiPos 1, TSTRING009(14)
- More
- If (TSTRING009(17) == 1) Then
- If (TSTRING003(5, 4) == 0) Then
- INTEGER007 = 1
- Endif
- :LABEL026
- If (BOOLEAN002) Goto LABEL036
- BOOLEAN004 = 0
- BOOLEAN002 = 0
- Color 15
- Cls
- DispFile TSTRING001(12), 1
- AnsiPos TSTRING003(1, 3), TSTRING003(1, 2)
- Print STRING021, TSTRING003(1, 1)
- AnsiPos TSTRING003(2, 3), TSTRING003(2, 2)
- Print STRING021, TSTRING003(2, 1)
- AnsiPos TSTRING003(3, 3), TSTRING003(3, 2)
- Print STRING021, TSTRING003(3, 1)
- AnsiPos TSTRING003(4, 3), TSTRING003(4, 2)
- Print STRING021, TSTRING003(4, 1)
- AnsiPos TSTRING003(5, 3), TSTRING003(5, 2)
- Print STRING021, TSTRING003(5, 1)
- AnsiPos TSTRING003(1, 3), TSTRING003(1, 2)
- Print STRING020, TSTRING003(1, 1)
- INTEGER014 = 1
- :LABEL027
- If (BOOLEAN004) Goto LABEL032
- STRING027 = Inkey()
- If (STRING027 == " ") Then
- INTEGER014 = INTEGER014 + 1
- If (INTEGER014 == 6) Then
- INTEGER014 = 1
- AnsiPos TSTRING003(5, 3), TSTRING003(5, 2)
- Print STRING021, TSTRING003(5, 1)
- AnsiPos TSTRING003(1, 3), TSTRING003(1, 2)
- Print STRING020, TSTRING003(1, 1)
- Goto LABEL028
- Endif
- AnsiPos TSTRING003(INTEGER014 - 1, 3), TSTRING003(INTEGER014 - 1, 2)
- Print STRING021, TSTRING003(INTEGER014 - 1, 1)
- AnsiPos TSTRING003(INTEGER014, 3), TSTRING003(INTEGER014, 2)
- Print STRING020, TSTRING003(INTEGER014, 1)
- Endif
- :LABEL028
- If ((STRING027 == "UP") || (Upper(STRING027) == "A")) Then
- If (INTEGER014 == 1) Then
- Goto LABEL029
- Endif
- INTEGER014 = INTEGER014 - 1
- AnsiPos TSTRING003(INTEGER014 + 1, 3), TSTRING003(INTEGER014 + 1, 2)
- Print STRING021, TSTRING003(INTEGER014 + 1, 1)
- AnsiPos TSTRING003(INTEGER014, 3), TSTRING003(INTEGER014, 2)
- Print STRING020, TSTRING003(INTEGER014, 1)
- Endif
- :LABEL029
- If ((STRING027 == "DOWN") || (Upper(STRING027) == "Z")) Then
- If (INTEGER014 == 5) Then
- Goto LABEL030
- Endif
- INTEGER014 = INTEGER014 + 1
- AnsiPos TSTRING003(INTEGER014 - 1, 3), TSTRING003(INTEGER014 - 1, 2)
- Print STRING021, TSTRING003(INTEGER014 - 1, 1)
- AnsiPos TSTRING003(INTEGER014, 3), TSTRING003(INTEGER014, 2)
- Print STRING020, TSTRING003(INTEGER014, 1)
- Endif
- :LABEL030
- If ((STRING027 == Chr(13)) && (TINTEGER011(INTEGER014) <> 1)) Then
- If (TSTRING003(INTEGER014, 4) == 1) BOOLEAN004 = 1
- Goto LABEL031
- Endif
- BOOLEAN004 = 0
- :LABEL031
- If ((STRING027 == Chr(27)) || (Upper(STRING027) == "Q")) Then
- If (INTEGER007 == 1) Then
- BOOLEAN004 = 1
- BOOLEAN002 = 1
- BOOLEAN001 = 1
- Endif
- Endif
- Goto LABEL027
- :LABEL032
- If (BOOLEAN002 == 0) Then
- Color 15
- Cls
- Color 7
- DispFile TSTRING001(INTEGER014 + 1), 1
- FOpen 10, TSTRING001(INTEGER014 + 6), 0, 0
- FGet 10, INTEGER015
- If (INTEGER015 > 50) INTEGER015 = 50
- For INTEGER017 = 1 To INTEGER015
- For INTEGER018 = 1 To 4
- FGet 10, TSTRING004(INTEGER017, INTEGER018)
- Next
- Next
- FClose 10
- For INTEGER017 = 1 To INTEGER015
- BOOLEAN003 = 0
- :LABEL033
- If (BOOLEAN003) Continue
- AnsiPos TSTRING004(INTEGER017, 4), TSTRING004(INTEGER017, 3)
- If (TSTRING004(INTEGER017, 1) == 1) Then
- InputStr "_", TSTRING006(INTEGER014, INTEGER017), 15, TSTRING004(INTEGER017, 2), Mask_Ascii(), 0
- Goto LABEL034
- Endif
- If (TSTRING004(INTEGER017, 1) == 2) Then
- InputStr "_", TSTRING006(INTEGER014, INTEGER017), 15, TSTRING004(INTEGER017, 2), Mask_Num() + "-", 0
- Goto LABEL034
- Endif
- If (TSTRING004(INTEGER017, 1) == 3) Then
- InputStr "_", TSTRING006(INTEGER014, INTEGER017), 15, TSTRING004(INTEGER017, 2), Mask_Alpha() + " ", 0
- Goto LABEL034
- Endif
- If (TSTRING004(INTEGER017, 1) == 4) Then
- InputStr "_", TSTRING006(INTEGER014, INTEGER017), 15, TSTRING004(INTEGER017, 2), Mask_AlNum() + " ", 0
- Goto LABEL034
- Endif
- If (Left(TSTRING004(INTEGER017, 1), 1) == 0) Then
- InputStr "_", TSTRING006(INTEGER014, INTEGER017), 15, TSTRING004(INTEGER017, 2), TSTRING004(INTEGER017, 1), 0
- Endif
- :LABEL034
- If (TSTRING006(INTEGER014, INTEGER017) == "") Then
- AnsiPos TSTRING004(INTEGER017, 4), TSTRING004(INTEGER017, 3)
- For INTEGER018 = 1 To TSTRING004(INTEGER017, 2)
- Print " "
- Next
- BOOLEAN003 = 0
- Goto LABEL035
- Endif
- BOOLEAN003 = 1
- :LABEL035
- Goto LABEL033
- Next
- STRING013 = ""
- TINTEGER011(INTEGER014) = 1
- If ((TINTEGER011(INTEGER014) == 1) && Len((TSTRING003(INTEGER014, 1) > 5))) Then
- For INTEGER017 = 1 To Len(TSTRING003(INTEGER014, 1))
- If (INTEGER017 == Len(TSTRING003(INTEGER014, 1)) - 1) Then
- STRING013 = STRING013 + "√"
- Continue
- Endif
- STRING013 = STRING013 + Mid(TSTRING003(INTEGER014, 1), INTEGER017, 1)
- Next
- Endif
- TSTRING003(INTEGER014, 1) = STRING013
- If (TINTEGER011(5) == 1) INTEGER007 = 1
- Endif
- Goto LABEL026
- :LABEL036
- If (BOOLEAN001 == 1) Then
- STRING032 = Upper(STRING016)
- STRING013 = Replace(STRING032, " ", "_")
- STRING032 = STRING013
- STRING013 = Replace(STRING032, ".", "_")
- INTEGER022 = INTEGER022 + 1
- STRING011 = PPEPath() + "NUV\" + STRING013 + ".NUV"
- STRING012 = PPEPath() + "NUV\" + STRING013 + ".NFO"
- FCreate 10, STRING011, 1, 0
- FCreate 10, STRING012, 1, 0
- STRING013 = ""
- STRING013 = Upper(Left(STRING016, 1))
- For INTEGER017 = 2 To Len(STRING016)
- If (Mid(STRING016, INTEGER017, 1) == " ") Then
- STRING013 = STRING013 + Upper(Mid(STRING016, INTEGER017, 2))
- INTEGER017 = INTEGER017 + 1
- Continue
- Endif
- STRING013 = STRING013 + Lower(Mid(STRING016, INTEGER017, 1))
- Next
- FOpen 10, STRING011, 1, 0
- FPutLn 10, STRING013
- FPutLn 10, "0"
- FPutLn 10, "0"
- FPutLn 10, "0"
- FPutLn 10, "0"
- FPutLn 10, "0"
- FClose 10
- FOpen 10, STRING012, 1, 0
- FPutLn 10, TINTEGER011(1)
- FPutLn 10, TINTEGER011(2)
- FPutLn 10, TINTEGER011(3)
- FPutLn 10, TINTEGER011(4)
- FPutLn 10, TINTEGER011(5)
- FPutLn 10, "000-111-000"
- If (TINTEGER011(1) == 1) Then
- INTEGER010 = ReadLine(TSTRING001(7), 1)
- FPutLn 10, INTEGER010
- For INTEGER017 = 1 To INTEGER010
- FPutLn 10, TSTRING006(1, INTEGER017)
- Next
- Goto LABEL037
- Endif
- FPutLn 10, "0"
- :LABEL037
- FPutLn 10, "000-222-000"
- If (TINTEGER011(2) == 1) Then
- INTEGER010 = ReadLine(TSTRING001(8), 1)
- FPutLn 10, INTEGER010
- For INTEGER017 = 1 To INTEGER010
- FPutLn 10, TSTRING006(2, INTEGER017)
- Next
- Goto LABEL038
- Endif
- FPutLn 10, "0"
- :LABEL038
- FPutLn 10, "000-333-000"
- If (TINTEGER011(3) == 1) Then
- INTEGER010 = ReadLine(TSTRING001(9), 1)
- FPutLn 10, INTEGER010
- For INTEGER017 = 1 To INTEGER010
- FPutLn 10, TSTRING006(3, INTEGER017)
- Next
- Goto LABEL039
- Endif
- FPutLn 10, "0"
- :LABEL039
- FPutLn 10, "000-444-000"
- If (TINTEGER011(4) == 1) Then
- INTEGER010 = ReadLine(TSTRING001(10), 1)
- FPutLn 10, INTEGER010
- For INTEGER017 = 1 To INTEGER010
- FPutLn 10, TSTRING006(4, INTEGER017)
- Next
- Goto LABEL040
- Endif
- FPutLn 10, "0"
- :LABEL040
- FPutLn 10, "000-555-000"
- If (TINTEGER011(5) == 1) Then
- INTEGER010 = ReadLine(TSTRING001(11), 1)
- FPutLn 10, INTEGER010
- For INTEGER017 = 1 To INTEGER010
- FPutLn 10, TSTRING006(5, INTEGER017)
- Next
- Goto LABEL041
- Endif
- FPutLn 10, "0"
- :LABEL041
- FPutLn 10, "END"
- FClose 10
- Endif
- Endif
- If (TSTRING009(16) == 1) Then
- Cls
- If (Left(TSTRING008(39), 1) == "%") Then
- STRING014 = TSTRING008(39)
- STRING013 = PPEPath() + Right(STRING014, Len(STRING014) - 1)
- Color 15
- DispFile STRING013, 1
- PrintLn
- Goto LABEL042
- Endif
- PrintLn TSTRING008(39)
- :LABEL042
- Color 15
- STRING017 = ""
- For INTEGER017 = 1 To 99
- TSTRING024(INTEGER017) = ""
- Next
- PrintLn
- STRING013 = ""
- STRING013 = Upper(Left(TSTRING007(5), 1))
- For INTEGER017 = 2 To Len(TSTRING007(5))
- If (Mid(TSTRING007(5), INTEGER017, 1) == " ") Then
- STRING013 = STRING013 + Upper(Mid(TSTRING007(5), INTEGER017, 2))
- INTEGER017 = INTEGER017 + 1
- Continue
- Endif
- STRING013 = STRING013 + Lower(Mid(TSTRING007(5), INTEGER017, 1))
- Next
- PrintLn TSTRING008(2), " @X0F", STRING013
- STRING013 = ""
- STRING013 = Upper(Left(STRING016, 1))
- For INTEGER017 = 2 To Len(STRING016)
- If (Mid(STRING016, INTEGER017, 1) == " ") Then
- STRING013 = STRING013 + Upper(Mid(STRING016, INTEGER017, 2))
- INTEGER017 = INTEGER017 + 1
- Continue
- Endif
- STRING013 = STRING013 + Lower(Mid(STRING016, INTEGER017, 1))
- Next
- PrintLn TSTRING008(3), " @X0F", STRING013
- BOOLEAN004 = 0
- INTEGER016 = 0
- :LABEL043
- If (BOOLEAN004) Goto LABEL045
- InputStr TSTRING008(4) + " _", STRING017, 7, 30, Mask_Ascii(), 8
- If (STRING017 == "") Then
- BOOLEAN004 = 0
- INTEGER016 = INTEGER016 + 1
- STRING017 = ""
- AnsiPos 1, GetY()
- ClrEol
- Goto LABEL044
- Endif
- BOOLEAN004 = 1
- :LABEL044
- Goto LABEL043
- :LABEL045
- FreshLine
- PrintLn
- PrintLn STRING026, " ┌───────────────────", STRING025, " ──────── ──── ─ · · ─ ──── ────────", STRING026, " ───────────────────┐"
- TSTRING007(1) = RTrim(TSTRING007(1), " ")
- If (TSTRING007(1) > 9) Then
- PrintLn STRING026, " │ @X0F· @X07Enter Your Message Now @X0F· @X07Maximum ", TSTRING007(1), " Lines @X0F· @X07 ", STRING026, "│"
- Goto LABEL046
- Endif
- PrintLn STRING026, " │ @X0F· @X07Enter Your Message Now @X0F· @X07Maximum ", TSTRING007(1), " Lines @X0F· @X07 ", STRING026, "│"
- :LABEL046
- PrintLn STRING026, " │ @X0F· @X07(@X0F/S@X07) to Save Message @X0F· @X07(@X0F/A@X07) to Abort Message @X0F· ", STRING026, "│"
- PrintLn STRING026, " └───────────────────", STRING025, " ──────── ──── ─ · · ─ ──── ────────", STRING026, " ───────────────────┘"
- PrintLn
- BOOLEAN004 = 0
- For INTEGER017 = 1 To 99
- TSTRING024(INTEGER017) = ""
- Next
- INTEGER013 = 0
- If (TSTRING007(1) > 100) TSTRING007(1) = 99
- :LABEL047
- If (BOOLEAN004) Goto LABEL048
- INTEGER013 = INTEGER013 + 1
- InputStr STRING025 + "» _", TSTRING024(INTEGER013), 7, 76, Mask_Ascii(), 512
- FreshLine
- If (((INTEGER013 >= TSTRING007(1)) || (Upper(TSTRING024(INTEGER013)) == "/S")) || (Upper(TSTRING024(INTEGER013)) == "/A")) Then
- If (Upper(TSTRING024(INTEGER013)) == "/A") Then
- FreshLine
- PrintLn
- PrintLn TSTRING008(5)
- Delay 18
- BOOLEAN004 = 1
- Endif
- If ((INTEGER013 >= TSTRING007(1)) || (Upper(TSTRING024(INTEGER013)) == "/S")) Then
- FreshLine
- PrintLn
- PrintLn TSTRING008(6)
- Delay 18
- INTEGER013 = INTEGER013 - 1
- FCreate 1, TSTRING001(13), 1, 0
- FOpen 1, TSTRING001(13), 2, 0
- If (INTEGER009 == -1) Then
- STRING013 = ""
- For INTEGER017 = 1 To 54
- STRING013 = STRING013 + Chr(TINTEGER024(INTEGER017))
- Next
- FPutLn 1, STRING013
- STRING013 = ""
- For INTEGER017 = 1 To 54
- STRING013 = STRING013 + Chr(TINTEGER024(55))
- Next
- FPutLn 1, STRING013
- FPutLn 1, ""
- Endif
- For INTEGER018 = 1 To INTEGER013
- FPutLn 1, TSTRING024(INTEGER018)
- Next
- FClose 1
- TSTRING007(5) = Upper(TSTRING007(5))
- STRING016 = Upper(STRING016)
- Message TSTRING007(4), TSTRING007(5), STRING016, STRING017, "R", "@X0FComment Send VIA @X09New User Message", 0, 0, TSTRING001(13)
- INTEGER019 = INTEGER019 + 1
- Delete TSTRING001(13)
- BOOLEAN004 = 1
- Endif
- Endif
- Goto LABEL047
- Endif
- :LABEL048
- Color 15
- Cls
- PrintLn
- PrintLn TSTRING008(29)
- PrintLn
- More
- Color 15
- Cls
- If (Exist(TSTRING001(19)) == 0) Then
- FCreate 1, TSTRING001(19), 1, 0
- FOpen 1, TSTRING001(19), 2, 0
- FPutLn 1, TSTRING009(15)
- FPutLn 1, TSTRING008(27)
- FPutLn 1, TSTRING010(9)
- FClose 1
- Else
- Delete TSTRING001(19)
- FCreate 1, TSTRING001(19), 1, 0
- FOpen 1, TSTRING001(19), 2, 0
- FPutLn 1, TSTRING009(15)
- FPutLn 1, TSTRING008(27)
- FPutLn 1, TSTRING010(9)
- FClose 1
- Endif
- INTEGER021 = 0
- For INTEGER017 = 1 To Len(STRING016)
- If (Mid(STRING016, INTEGER017, 1) == " ") INTEGER021 = 1
- Next
- If (INTEGER021 == 1) Then
- KbdStuff STRING016 + Chr(13)
- Else
- KbdStuff STRING016 + Chr(13)
- KbdStuff Chr(13)
- Endif
- KbdStuff Chr(13)
- KbdStuff Chr(13)
- For INTEGER017 = 1 To 2
- KbdStuff TSTRING010(INTEGER017) + Chr(13)
- Next
- For INTEGER017 = 4 To 8
- KbdStuff TSTRING010(INTEGER017) + Chr(13)
- Next
- If (Psa(1)) Then
- KbdStuff Chr(13)
- Endif
- If (Psa(3)) Then
- KbdStuff Chr(13)
- KbdStuff Chr(13)
- KbdStuff Chr(13)
- KbdStuff Chr(13)
- KbdStuff Chr(13)
- KbdStuff Chr(13)
- Endif
- If (Psa(4)) Then
- KbdStuff "Unknown" + Chr(13)
- Endif
- KbdStuff "N" + Chr(13)
- End
- Return
- :LABEL049
- Color 15
- Cls
- If (Left(TSTRING008(17), 1) == "%") Then
- INTEGER017 = 0
- STRING014 = TSTRING008(17)
- STRING013 = PPEPath() + Right(STRING014, Len(STRING014) - 1)
- DispFile STRING013, 1
- Else
- PrintLn TSTRING008(17)
- Endif
- PrintLn
- If (STRING030 == "0") Then
- Goto LABEL050
- Endif
- AnsiPos 1, GetY()
- ClrEol
- Print TSTRING008(18)
- STRING031 = ""
- InputStr " _", STRING031, 15, 30, Mask_Ascii(), 1
- If (Upper(STRING031) <> Upper(STRING030)) Return
- :LABEL050
- DispFile PPEPath() + TSTRING008(14), 1
- DispFile PPEPath() + TSTRING008(15), 1
- DispFile PPEPath() + TSTRING008(16), 1
- BOOLEAN004 = 0
- Color 15
- Cls
- DispFile TSTRING001(16), 1
- AnsiPos TSTRING009(9), TSTRING009(8)
- STRING016 = ""
- STRING019 = ""
- InputStr "_", STRING016, 15, TSTRING002(1, 3), Mask_Ascii(), 0
- STRING019 = Upper(STRING016)
- If (U_RecNum(STRING019) <> -1) Then
- GetAltUser U_RecNum(STRING019)
- If (U_Sec < TSTRING009(26)) Then
- AnsiPos 1, TSTRING009(25)
- PrintLn TSTRING008(36)
- Delay 18
- AnsiPos 1, TSTRING009(25)
- ClrEol
- Return
- Endif
- INTEGER012 = 0
- :LABEL051
- If (BOOLEAN004) Goto LABEL052
- INTEGER012 = INTEGER012 + 1
- STRING015 = ""
- AnsiPos TSTRING009(11), TSTRING009(10)
- InputStr "_", STRING015, 15, TSTRING002(2, 3), Mask_Ascii(), 1
- If (Upper(STRING015) == Upper(U_Pwd)) Then
- BOOLEAN004 = 1
- Else
- If (INTEGER012 == TSTRING009(13)) Then
- AnsiPos 1, TSTRING009(25)
- Print TSTRING008(20)
- Delay 18
- KbdStuff TSTRING009(15) + Chr(13)
- Hangup
- DtrOff
- End
- Endif
- AnsiPos 1, TSTRING009(25)
- Print TSTRING008(19)
- Delay 18
- AnsiPos 1, TSTRING009(25)
- Print " "
- AnsiPos TSTRING009(11), TSTRING009(10)
- For INTEGER017 = 1 To Len(STRING015)
- Print " "
- Next
- Endif
- Goto LABEL051
- :LABEL052
- Else
- AnsiPos 1, TSTRING009(25)
- Print TSTRING008(34)
- Delay 18
- AnsiPos 1, TSTRING009(25)
- Print " "
- Return
- Endif
- If (BOOLEAN004 == 0) Then
- Return
- Else
- INTEGER021 = 0
- For INTEGER017 = 1 To Len(STRING016)
- If (Mid(STRING016, INTEGER017, 1) == " ") INTEGER021 = 1
- Next
- If (INTEGER021 == 1) Then
- KbdStuff STRING016 + Chr(13)
- Else
- KbdStuff STRING016 + Chr(13)
- KbdStuff Chr(13)
- Endif
- FOpen 1, TSTRING001(19), 2, 0
- FPutLn 1, TSTRING009(10)
- FPutLn 1, TSTRING009(11)
- FPutLn 1, STRING015
- FClose 1
- End
- Endif
- :LABEL053
- If (INTEGER019 == TSTRING007(7)) Then
- AnsiPos 1, TSTRING009(14)
- Print TSTRING008(25)
- Delay 18
- AnsiPos 1, TSTRING009(14)
- Print " "
- Return
- Else
- Color 15
- Cls
- PrintLn
- If (Left(TSTRING008(1), 1) == "%") Then
- STRING014 = TSTRING008(1)
- STRING013 = PPEPath() + Right(STRING014, Len(STRING014) - 1)
- DispFile STRING013, 1
- Else
- PrintLn TSTRING008(1)
- Endif
- PrintLn
- STRING013 = ""
- STRING013 = Upper(Left(TSTRING007(5), 1))
- For INTEGER017 = 2 To Len(TSTRING007(5))
- If (Mid(TSTRING007(5), INTEGER017, 1) == " ") Then
- STRING013 = STRING013 + Upper(Mid(TSTRING007(5), INTEGER017, 2))
- INTEGER017 = INTEGER017 + 1
- Continue
- Endif
- STRING013 = STRING013 + Lower(Mid(TSTRING007(5), INTEGER017, 1))
- Next
- PrintLn TSTRING008(2), " @X0F", STRING013
- BOOLEAN004 = 0
- INTEGER016 = 0
- STRING016 = ""
- :LABEL054
- If (BOOLEAN004) Goto LABEL055
- InputStr TSTRING008(3) + " _", STRING016, 7, 30, Mask_Ascii(), 8
- If (TSTRING009(27) == "1") Then
- If (U_RecNum(STRING016) == -1) Then
- BOOLEAN004 = 0
- INTEGER016 = INTEGER016 + 1
- STRING016 = ""
- AnsiPos 1, GetY() + 2
- Print TSTRING008(34)
- Delay 18
- AnsiPos 1, GetY()
- ClrEol
- AnsiPos 1, GetY() - 2
- ClrEol
- Else
- BOOLEAN004 = 1
- Endif
- If (INTEGER016 == 2) Return
- ElseIf (STRING016 <> "") Then
- BOOLEAN004 = 1
- Else
- AnsiPos 1, GetY()
- ClrEol
- INTEGER016 = INTEGER016 + 1
- Endif
- If (INTEGER016 == 2) Return
- Goto LABEL054
- :LABEL055
- If (TSTRING007(3) == 1) Then
- FreshLine
- BOOLEAN004 = 0
- INTEGER016 = 0
- :LABEL056
- If (BOOLEAN004) Goto LABEL057
- STRING017 = ""
- InputStr TSTRING008(4) + " _", STRING017, 7, 30, Mask_Ascii(), 8
- If (STRING017 == "") Then
- BOOLEAN004 = 0
- INTEGER016 = INTEGER016 + 1
- STRING017 = ""
- AnsiPos 1, GetY()
- ClrEol
- Else
- BOOLEAN004 = 1
- Endif
- If (INTEGER016 == 2) Return
- Goto LABEL056
- :LABEL057
- Else
- STRING017 = TSTRING007(3)
- Endif
- FreshLine
- PrintLn
- PrintLn STRING026, " ┌───────────────────", STRING025, " ──────── ──── ─ · · ─ ──── ────────", STRING026, " ───────────────────┐"
- TSTRING007(1) = RTrim(TSTRING007(1), " ")
- If (TSTRING007(1) > 9) Then
- PrintLn STRING026, " │ @X0F· @X07Enter Your Message Now @X0F· @X07Maximum ", TSTRING007(1), " Lines @X0F· @X07 ", STRING026, "│"
- Else
- PrintLn STRING026, " │ @X0F· @X07Enter Your Message Now @X0F· @X07Maximum ", TSTRING007(1), " Lines @X0F· @X07 ", STRING026, "│"
- Endif
- PrintLn STRING026, " │ @X0F· @X07(@X0F/S@X07) to Save Message @X0F· @X07(@X0F/A@X07) to Abort Message @X0F· ", STRING026, "│"
- PrintLn STRING026, " └───────────────────", STRING025, " ──────── ──── ─ · · ─ ──── ────────", STRING026, " ───────────────────┘"
- PrintLn
- BOOLEAN004 = 0
- For INTEGER017 = 1 To 99
- TSTRING024(INTEGER017) = ""
- Next
- INTEGER013 = 0
- If (TSTRING007(1) > 100) TSTRING007(1) = 99
- :LABEL058
- If (BOOLEAN004) Goto LABEL059
- INTEGER013 = INTEGER013 + 1
- InputStr STRING025 + "» _", TSTRING024(INTEGER013), 7, 76, Mask_Ascii(), 512
- FreshLine
- If (((INTEGER013 >= TSTRING007(1)) || (Upper(TSTRING024(INTEGER013)) == "/S")) || (Upper(TSTRING024(INTEGER013)) == "/A")) Then
- If (Upper(TSTRING024(INTEGER013)) == "/A") Then
- FreshLine
- PrintLn
- PrintLn TSTRING008(5)
- Delay 18
- Return
- Endif
- If ((INTEGER017 >= TSTRING007(1)) || (Upper(TSTRING024(INTEGER013)) == "/S")) Then
- FreshLine
- PrintLn
- PrintLn TSTRING008(6)
- Delay 18
- INTEGER013 = INTEGER013 - 1
- FCreate 1, TSTRING001(13), 1, 0
- FOpen 1, TSTRING001(13), 2, 0
- If (INTEGER009 == -1) Then
- STRING013 = ""
- For INTEGER017 = 1 To 54
- STRING013 = STRING013 + Chr(TINTEGER024(INTEGER017))
- Next
- FPutLn 1, STRING013
- STRING013 = ""
- For INTEGER017 = 1 To 54
- STRING013 = STRING013 + Chr(TINTEGER024(55))
- Next
- FPutLn 1, STRING013
- FPutLn 1, ""
- Endif
- For INTEGER018 = 1 To INTEGER013
- FPutLn 1, TSTRING024(INTEGER018)
- Next
- FClose 1
- TSTRING007(5) = Upper(TSTRING007(5))
- STRING016 = Upper(STRING016)
- Message TSTRING007(4), TSTRING007(5), STRING016, STRING017, "R", "@X0FComment Send VIA @X09Matrix Feedback", 0, 0, TSTRING001(13)
- STRING016 = ""
- INTEGER019 = INTEGER019 + 1
- Delete TSTRING001(13)
- Return
- Endif
- Endif
- Goto LABEL058
- :LABEL059
- AdjTime TSTRING009(6)
- Return
- Endif
- :LABEL060
- If (INTEGER020 == TSTRING009(1)) Then
- AnsiPos 1, TSTRING009(14)
- Print TSTRING008(25)
- Delay 18
- AnsiPos 1, TSTRING009(14)
- Print " "
- Return
- Else
- Color 15
- Cls
- If (Left(TSTRING008(7), 1) == "%") Then
- STRING014 = TSTRING008(7)
- STRING013 = PPEPath() + Right(STRING014, Len(STRING014) - 1)
- DispFile STRING013, 1
- PrintLn
- Else
- PrintLn TSTRING008(7)
- Endif
- PrintLn
- BOOLEAN004 = 0
- INTEGER016 = 0
- STRING016 = ""
- :LABEL061
- If (BOOLEAN004) Goto LABEL062
- InputStr TSTRING008(9) + " _", STRING016, 7, 30, Mask_Ascii(), 8
- If (TSTRING009(27) == "1") Then
- If (U_RecNum(STRING016) == -1) Then
- BOOLEAN004 = 0
- INTEGER016 = INTEGER016 + 1
- STRING016 = ""
- AnsiPos 1, GetY() + 2
- Print TSTRING008(34)
- Delay 18
- AnsiPos 1, GetY()
- ClrEol
- AnsiPos 1, GetY() - 2
- ClrEol
- Else
- BOOLEAN004 = 1
- Endif
- ElseIf (STRING016 <> "") Then
- BOOLEAN004 = 1
- Else
- AnsiPos 1, GetY()
- ClrEol
- INTEGER016 = INTEGER016 + 1
- Endif
- If (INTEGER016 == 2) Return
- Goto LABEL061
- :LABEL062
- FreshLine
- BOOLEAN004 = 0
- INTEGER016 = 0
- :LABEL063
- If (BOOLEAN004) Goto LABEL064
- InputStr TSTRING008(8) + " _", STRING018, 7, 30, Mask_Ascii(), 8
- If (STRING018 == "") Then
- BOOLEAN004 = 0
- INTEGER016 = INTEGER016 + 1
- STRING018 = ""
- AnsiPos 1, GetY()
- ClrEol
- Else
- BOOLEAN004 = 1
- Endif
- If (INTEGER016 == 2) Return
- Goto LABEL063
- :LABEL064
- FreshLine
- PrintLn
- SPrintLn TSTRING008(28)
- SPrintLn
- PrintLn TSTRING008(40)
- PrintLn
- Print TSTRING008(10)
- INTEGER020 = INTEGER020 + 1
- PageOn
- INTEGER018 = 0
- For INTEGER017 = 1 To TSTRING009(2)
- Print TSTRING008(11)
- MPrint "@BEEP@"
- Sound 110
- Delay 2
- If (Inkey() == " ") Then
- Sound 0
- INTEGER018 = 3
- PageOff
- Chat
- Return
- Endif
- If (Inkey() == Chr(27)) Then
- ResetDisp
- KeyFlush
- Sound 0
- INTEGER018 = 1
- INTEGER017 = TSTRING009(2)
- Endif
- Sound 440
- Delay 2
- If (Inkey() == " ") Then
- Sound 0
- INTEGER018 = 3
- PageOff
- Chat
- Return
- Endif
- If (Inkey() == Chr(27)) Then
- ResetDisp
- KeyFlush
- Sound 0
- INTEGER018 = 1
- INTEGER017 = TSTRING009(2)
- Endif
- Sound 880
- Delay 2
- If (Inkey() == " ") Then
- Sound 0
- INTEGER018 = 3
- PageOff
- Chat
- Return
- Endif
- If (Inkey() == Chr(27)) Then
- ResetDisp
- KeyFlush
- Sound 0
- INTEGER018 = 1
- INTEGER017 = TSTRING009(2)
- Endif
- Sound 0
- Delay 5
- If (Inkey() == " ") Then
- Sound 0
- INTEGER018 = 3
- PageOff
- Chat
- Return
- Endif
- If (Inkey() == Chr(27)) Then
- ResetDisp
- KeyFlush
- Sound 0
- INTEGER018 = 1
- INTEGER017 = TSTRING009(2)
- Endif
- Delay 5
- If (Inkey() == " ") Then
- Sound 0
- INTEGER018 = 3
- PageOff
- Chat
- Return
- Endif
- If (Inkey() == Chr(27)) Then
- ResetDisp
- KeyFlush
- Sound 0
- INTEGER018 = 1
- INTEGER017 = TSTRING009(2)
- Endif
- Next
- PrintLn
- If (INTEGER018 == 0) Then
- PrintLn
- PrintLn TSTRING008(12)
- Endif
- If (INTEGER018 == 1) Then
- PrintLn
- PrintLn "@X0FPage Aborted..."
- Endif
- Delay 18
- Return
- Endif
- :LABEL065
- BOOLEAN004 = 0
- Color 15
- Cls
- DispFile TSTRING001(16), 1
- AnsiPos TSTRING009(9), TSTRING009(8)
- STRING016 = ""
- STRING019 = ""
- InputStr "_", STRING016, 15, TSTRING002(1, 3), Mask_Ascii(), 0
- STRING019 = Upper(STRING016)
- If (U_RecNum(STRING019) <> -1) Then
- GetAltUser U_RecNum(STRING019)
- INTEGER012 = 0
- :LABEL066
- If (BOOLEAN004) Goto LABEL067
- INTEGER012 = INTEGER012 + 1
- STRING015 = ""
- AnsiPos TSTRING009(11), TSTRING009(10)
- InputStr "_", STRING015, 15, TSTRING002(2, 3), Mask_Ascii(), 1
- If (Upper(STRING015) == Upper(U_Pwd)) Then
- BOOLEAN004 = 1
- Else
- If (INTEGER012 == TSTRING009(13)) Then
- AnsiPos 1, TSTRING009(25)
- Print TSTRING008(20)
- Delay 18
- KbdStuff TSTRING009(15) + Chr(13)
- Hangup
- DtrOff
- End
- Endif
- AnsiPos 1, TSTRING009(25)
- Print TSTRING008(19)
- Delay 18
- AnsiPos 1, TSTRING009(25)
- Print " "
- AnsiPos TSTRING009(11), TSTRING009(10)
- For INTEGER017 = 1 To Len(STRING015)
- Print " "
- Next
- Endif
- Goto LABEL066
- :LABEL067
- Else
- AnsiPos 1, TSTRING009(25)
- Print TSTRING008(34)
- Delay 18
- AnsiPos 1, TSTRING009(25)
- Print " "
- Return
- Endif
- AnsiPos 1, TSTRING009(25)
- If (U_Sec >= TSTRING009(26)) Then
- PrintLn TSTRING008(35)
- PrintLn
- PrintLn TSTRING008(18) + " @X0F" + Upper(TSTRING009(5))
- PrintLn
- More
- Else
- STRING032 = Upper(STRING016)
- STRING013 = Replace(STRING032, " ", "_")
- STRING032 = STRING013
- STRING013 = Replace(STRING032, ".", "_")
- STRING011 = PPEPath() + "NUV\" + STRING013 + ".NUV"
- FOpen 2, STRING011, 0, 0
- FGet 2, STRING013
- FGet 2, STRING033
- FGet 2, STRING034
- FClose 2
- PrintLn TSTRING008(36)
- PrintLn
- PrintLn TSTRING008(41) + " @X0F" + STRING033
- PrintLn TSTRING008(42) + " @X0F" + STRING034
- More
- Endif
- Return
- :LABEL068
- If (TSTRING009(4) == "1") Then
- AnsiPos 1, TSTRING009(3)
- Print TSTRING008(30)
- Print " "
- BOOLEAN004 = 0
- STRING013 = ""
- :LABEL069
- If (BOOLEAN004) Goto LABEL071
- STRING013 = Inkey()
- If (Len(STRING013)) Then
- If (Upper(STRING013) == "Y") Then
- AnsiPos 1, TSTRING009(3)
- ClrEol
- If (Left(TSTRING008(13), 1) == "%") Then
- STRING014 = TSTRING008(13)
- STRING013 = PPEPath() + Right(STRING014, Len(STRING014) - 1)
- Color 15
- Cls
- DispFile STRING013, 1
- PrintLn
- Goto LABEL070
- Endif
- AnsiPos 1, TSTRING009(3)
- PrintLn TSTRING008(13)
- :LABEL070
- If (OnLocal() && (INTEGER008 == 1)) End
- KbdStuff TSTRING009(15) + Chr(13)
- Hangup
- DtrOff
- End
- Endif
- If (Upper(STRING013) == "N") Then
- AnsiPos 1, TSTRING009(3)
- ClrEol
- BOOLEAN004 = 1
- Endif
- Endif
- Goto LABEL069
- :LABEL071
- Else
- If (Left(TSTRING008(13), 1) == "%") Then
- STRING014 = TSTRING008(13)
- STRING013 = PPEPath() + Right(STRING014, Len(STRING014) - 1)
- Color 15
- Cls
- DispFile STRING013, 1
- PrintLn
- Else
- AnsiPos 1, TSTRING009(3)
- PrintLn TSTRING008(13)
- Endif
- KbdStuff TSTRING009(15) + Chr(13)
- If (OnLocal() && (INTEGER008 == 1)) End
- Hangup
- DtrOff
- End
- Endif
- Return
- :LABEL072
- STRING044 = "@X0F"
- STRING043 = "!"
- STRING035 = Chr(75) + Chr(114) + Chr(104) + Chr(121) + Chr(112) + Chr(116) + Chr(105) + Chr(99)
- STRING036 = STRING044 + Chr(85) + Chr(110) + Chr(114) + Chr(101) + Chr(103) + Chr(105) + Chr(115) + Chr(116) + Chr(101) + Chr(114) + Chr(101) + Chr(100) + STRING043
- STRING037 = STRING044 + Chr(82) + Chr(101) + Chr(103) + Chr(105) + Chr(115) + Chr(116) + Chr(114) + Chr(97) + Chr(116) + Chr(105) + Chr(111) + Chr(110)
- STRING038 = STRING044 + Chr(78) + Chr(97) + Chr(109) + Chr(101) + STRING043
- STRING039 = STRING044 + Chr(67) + Chr(111) + Chr(100) + Chr(101) + Chr(115) + STRING043
- STRING040 = STRING044 + Chr(67) + Chr(111) + Chr(100) + Chr(101) + Chr(100) + Chr(255) + Chr(98) + Chr(121) + Chr(255) + STRING035
- STRING041 = "@X0D" + Chr(77) + Chr(97) + "@X05" + Chr(116) + Chr(114) + "@X08" + Chr(105) + Chr(120) + Chr(255) + "@X0D" + Chr(50) + Chr(48) + "@X05" + Chr(48) + Chr(48)
- STRING042 = Chr(69) + Chr(114) + Chr(114) + Chr(111) + Chr(114) + Chr(255) + Chr(105) + Chr(110)
- STRING045 = STRING044 + Chr(82) + Chr(101) + Chr(103) + Chr(105) + Chr(115) + Chr(116) + Chr(101) + Chr(114) + Chr(101) + Chr(100) + Chr(255) + Chr(116) + Chr(111)
- Color 7
- If (STRING046 == "NONE") Then
- PrintLn STRING041 + " @X07· " + STRING040 + " @X07· " + STRING036
- INTEGER009 = -1
- Delay 15
- Return
- Else
- INTEGER001 = STRING048
- STRING052 = Left(STRING047, 9)
- INTEGER003 = STRING052
- INTEGER002 = ((INTEGER003 / 3 - 42) * 2 - 2) / 2 + 1
- If (((((INTEGER002 == INTEGER001) || (INTEGER002 == INTEGER001 - 1)) || (INTEGER002 == INTEGER001 + 1)) || (INTEGER002 == INTEGER001 + 2)) || (INTEGER002 == INTEGER001 - 2)) Then
- INTEGER004 = Len(STRING047)
- INTEGER005 = 1
- BOOLEAN004 = 0
- :LABEL073
- If (BOOLEAN004) Goto LABEL074
- STRING050 = Mid(STRING047, INTEGER005, 2)
- INTEGER006 = STRING050
- If (Left(STRING050, 1) == "0") Then
- STRING051 = STRING051 + " "
- INTEGER005 = INTEGER005 + 1
- Else
- STRING051 = STRING051 + TSTRING049(INTEGER006)
- INTEGER005 = INTEGER005 + 2
- Endif
- If (INTEGER005 >= Len(STRING047)) BOOLEAN004 = 1
- Goto LABEL073
- :LABEL074
- If (STRING046 == STRING051) Then
- PrintLn STRING041 + " @X07· " + STRING040 + " @X07·@X0F " + STRING045 + " " + STRING051
- ElseIf (STRING046 <> STRING051) Then
- PrintLn STRING041 + " @X07· " + STRING040 + " @X07·@X0F " + STRING042 + " " + STRING037 + " " + STRING038
- INTEGER009 = -1
- Endif
- Else
- PrintLn STRING041 + "@X07 · " + STRING040 + " @X07·@X0F " + STRING042 + " " + STRING037 + " " + STRING039
- INTEGER009 = -1
- Endif
- Delay 18
- Endif
- Return
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 14 End
- ; 17 Cls
- ; 14 ClrEol
- ; 5 More
- ; 20 Color
- ; 363 Goto
- ; 536 Let
- ; 65 Print
- ; 90 PrintLn
- ; 247 If
- ; 18 DispFile
- ; 6 FCreate
- ; 13 FOpen
- ; 13 FClose
- ; 33 FGet
- ; 49 FPutLn
- ; 5 ResetDisp
- ; 12 Hangup
- ; 3 Delete
- ; 3 AdjTime
- ; 26 InputStr
- ; 7 Gosub
- ; 27 Return
- ; 12 DtrOff
- ; 25 Delay
- ; 31 KbdStuff
- ; 1 RdUNet
- ; 1 WrUNet
- ; 95 AnsiPos
- ; 11 FreshLine
- ; 2 Message
- ; 14 Sound
- ; 5 Chat
- ; 2 SPrintLn
- ; 1 MPrint
- ; 1 PageOn
- ; 5 PageOff
- ; 5 KeyFlush
- ; 2 GetAltUser
- ;
- ;
- ; ■ Functions used :
- ;
- ; 10 -
- ; 1 *
- ; 2 /
- ; 304 +
- ; 32 -
- ; 141 ==
- ; 15 <>
- ; 58 <
- ; 49 <=
- ; 15 >
- ; 105 >=
- ; 212 !
- ; 102 &&
- ; 64 ||
- ; 37 Len(
- ; 4 Lower()
- ; 52 Upper()
- ; 16 Mid()
- ; 16 Left()
- ; 9 Right()
- ; 125 Chr()
- ; 2 RTrim()
- ; 4 Replace()
- ; 13 Inkey()
- ; 3 Mask_Alpha()
- ; 2 Mask_Num()
- ; 1 Mask_AlNum()
- ; 18 Mask_Ascii()
- ; 1 PCBDat()
- ; 34 PPEPath()
- ; 2 PcbNode()
- ; 6 ReadLine()
- ; 2 OnLocal()
- ; 1 UN_Name()
- ; 1 UN_City()
- ; 5 Exist()
- ; 13 GetY()
- ; 3 Psa()
- ; 7 U_RecNum()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : RABMdH
- ;
- ; R - Read user ■ 5
- ; User records are read, this may signify that someone wants to get
- ; various informations about a user (for example his password), but
- ; this may also be normal for a program accessing user records (for
- ; example a User Editor)
- ; ■ Search for : GETALTUSER
- ;
- ; A - Adjust online time remaining ■ 5
- ; Program modify the amount of online time remaining, this may
- ; be a way to bypass time limits
- ; ■ Search for : ADJTIME
- ;
- ; B - Brute hangup ■ 1
- ; Program hangup without notification. This may be a good way to
- ; disconnect a user, but if used randomly, may be very nasty
- ; ■ Search for : HANGUP, DTROFF
- ;
- ; M - Send text to modem only ■ 4
- ; Some informations are sent only to the modem, not to the local
- ; screen, this is a well known way to make stealth backdoors, Check!
- ; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
- ;
- ; d - Access PCBOARD.DAT ■ 2
- ; Program gets the full pathname to PCBOARD.DAT, this may be usefull
- ; for many PPE so they can find various informations on the system
- ; (system paths, max number of lines in messages, ...) but it may also
- ; be a way to gather vital informations.
- ; ■ Search for : PCBDAT()
- ;
- ; H - Read Password or Password History ■ 5
- ; Program is reading the user's password or last password history
- ; This may be ok for a password manager, but it is very suspect. Check!
- ; ■ Search for : U_PWDHIST, U_PWD
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 49 For/Next
- ; 0 While/EndWhile
- ; 127 If/Then or If/Then/Else
- ; 2 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-